%{
#include <stdio.h>
#define YYSTYPE double
#include "testbison.tab.h"
%}

/**
前5个模式就是操作符本身，用引号引起。引号告诉Flex使用引号内文本的原义，而不是解释为正则表达式
*/
%%
"+" {return T_ADD;}
"-" {return T_SUB;}
"*" {return T_MUL;}
"/" {return T_DIV;}
"^" {return T_POW;}
"(" {return T_LEFT_PT;}
")" {return T_RIGHT_PT;}
[0-9]+"."*[0-9]* {yylval = atof(yytext); printf("yylval = %f\n", yylval); return T_NUM;}
[ \t] {}
\n {return EOL;}
.  {printf("Mystery character:%c\n", *yytext);}
%%

int yywrap(void) {
    return 1;
}
